﻿using System;
using System.Collections;
using System.ServiceModel;
using Contract.Domain;
using Framework;

namespace Contract.IService
{
    [ServiceKnownType("GetKnownTypes", typeof(Framework.IService.KnownTypesProvider))]
    [ServiceContract]
    public interface IDaoService
    {
        [OperationContract]
        object FindById(string typeName, object Id);

        [OperationContract]
        object FindOne(QueryInfo info);
        /// <summary>
        /// 读取记录条数
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        [OperationContract]
        int GetTotalCount(QueryInfo info);
        [OperationContract]
        IList FindList(QueryInfo info);
        [OperationContract]
        QueryInfo FindByQueryInfo(QueryInfo info);
        [OperationContract]
        int ExecuteUpdate(QueryInfo info);
        [OperationContract]
        System.Data.DataSet ExcuteDataSet(QueryInfo info);
        [OperationContract]
        int ExecuteNonQuery(QueryInfo info);
        [OperationContract]
        object ExecuteScare(QueryInfo info);
        [OperationContract]
        object SaveOrUpdate(object obj);
    
        

    }
}
